/**
 * 学生状态枚举
 * @description 定义学生的各种状态
 */
export enum StudentStatusEnum {
  /** 在读 */
  ACTIVE = 1,
  /** 休学 */
  INACTIVE = 2,
  /** 毕业 */
  GRADUATED = 3,
  /** 已删除 */
  DELETED = 4
}

/**
 * 学生状态显示文本映射
 * @description 用于界面显示的状态文本
 */
export const StudentStatusText: Record<StudentStatusEnum, string> = {
  [StudentStatusEnum.ACTIVE]: '在读',
  [StudentStatusEnum.INACTIVE]: '休学',
  [StudentStatusEnum.GRADUATED]: '毕业',
  [StudentStatusEnum.DELETED]: '已删除'
};

/**
 * 学生状态颜色映射
 * @description 用于界面显示的状态颜色
 */
export const StudentStatusColor: Record<StudentStatusEnum, string> = {
  [StudentStatusEnum.ACTIVE]: 'success',
  [StudentStatusEnum.INACTIVE]: 'warning',
  [StudentStatusEnum.GRADUATED]: 'default',
  [StudentStatusEnum.DELETED]: 'error'
};

/**
 * 性别枚举
 * @description 学生性别选项
 */
export enum GenderEnum {
  /** 男性 */
  MALE = 'male',
  /** 女性 */
  FEMALE = 'female',
  /** 其他 */
  OTHER = 'other'
}

/**
 * 性别显示文本映射
 * @description 用于界面显示的性别文本
 */
export const GenderText: Record<GenderEnum, string> = {
  [GenderEnum.MALE]: '男',
  [GenderEnum.FEMALE]: '女',
  [GenderEnum.OTHER]: '其他'
};

/**
 * 学生操作类型枚举
 * @description 对学生可执行的操作类型
 */
export enum StudentActionEnum {
  /** 查看详情 */
  VIEW = 'view',
  /** 编辑信息 */
  EDIT = 'edit',
  /** 删除学生 */
  DELETE = 'delete',
  /** 激活学生 */
  ACTIVATE = 'activate',
  /** 停用学生 */
  DEACTIVATE = 'deactivate',
  /** 查看课表 */
  VIEW_SCHEDULE = 'view_schedule',
  /** 导出信息 */
  EXPORT = 'export'
}